#include <cctype>
#include <cstdio>
#include <iostream>
#include <stack>
using namespace std;

const int MAX_N=3e6+5;
int readInt();
int a[MAX_N];
int ans[MAX_N];
stack<int>s;

int main(){
    const int n=readInt();
    for(int i=1;i<=n;i++){
        a[i]=readInt();
    }
    for(int i=n;i>=1;i--){
        while(!s.empty()&&a[s.top()]<=a[i])s.pop();
        ans[i]=s.empty()?0:s.top();
        s.push(i);
    }
    for(int i=1;i<=n;i++){
        cout<<ans[i]<<" ";;
    }
    cout<<endl;
}

int readInt(){
    int x=0,w=1;
    char ch=0;
    while (!isdigit(ch)) {
        if(ch=='-')w=-1;
        ch=getchar();
    }
    while(isdigit(ch)){
        x=x*10+(ch-'0');
        ch=getchar();
    }
    return x*w;
}